package org.dromara.run.domain.vo;

import java.math.BigDecimal;
import java.sql.Time;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.run.domain.Record;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 阳光跑跑步记录表视图对象 phy_run_record
 *
 * @author chl
 * @date 2024-08-30
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Record.class)
public class RecordVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
//    @ExcelProperty(value = "主键")
    private Long recordId;

    @ExcelProperty(value = "序号")
    private Integer index;

    @Translation(type = TransConstant.SCHEDULE_ID_TO_NAME, mapper = "scheduleId")
    @ExcelProperty(value = "跑步计划")
    private String scheduleName;


    @Translation(type = TransConstant.MEMBER_ID_TO_NAME, mapper = "memberId")
    @ExcelProperty(value = "姓名")
    private String studentName;
    /**
     * 用户信息id
     */
    @ExcelProperty(value = "学号")
    private String memberId;


    @ExcelProperty(value = "年级")
    private String years;

    @ExcelProperty(value = "学院")
    private String collegeName;

    @ExcelProperty(value = "专业")
    private String professionalName;

    @ExcelProperty(value = "班级")
    private String className;


    private String classId;
    private String deptId;

    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_user_sex")
    private String gender;

    private String professionalId;
    private String collegeId;
    /**
     * 计划id
     */
//    @ExcelProperty(value = "计划id")
    private String scheduleId;


    /**
     * 跑步开始时间
     */
    @ExcelProperty(value = "跑步开始时间")
    private Date startTime;

    /**
     * 跑步结束时间
     */
    @ExcelProperty(value = "跑步结束时间")
    private Date endTime;

    /**
     * 数据上传时间
     */
    @ExcelProperty(value = "数据上传时间")
    private Date uploadTime;

    /**
     * 总用时
     */
    @ExcelProperty(value = "总用时")
    private String duration;

    /**
     * 配速
     */
    @ExcelProperty(value = "配速")
    private String pace;

    /**
     * 跑步距离（公里）
     */
    @ExcelProperty(value = "跑步距离")
    private BigDecimal mileage;

    /**
     * 拍摄次数
     */
    @ExcelProperty(value = "拍摄次数")
    private Long frequency;

    /**
     * 状态说明
     */
    @ExcelProperty(value = "状态说明")
    private String description;

    /**
     * 记录类型
     */
    @ExcelProperty(value = "记录状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "phy_run_record_type")
    private String recordType;

    /**
     * 跑步照片URL
     */
    @ExcelProperty(value = "跑步照片URL")
    private String imageUrl;


    private String tenantId;

}
